并行加载资源

当用户在具有多核处理器的环境中运行 Kanzi 应用程序时,Kanzi 会自动使用多个 CPU 内核将 kzb 文件中的 GPU 资源加载到 RAM 中。由于加载过程中的大多数数据都是由 GPU 资源处理的,因此并行加载资源可以显著缩短应用程序的加载时间。

GPU 资源 Kanzi 并行加载包括所有类型在内的纹理、着色器和网格。为将这些资源从 RAM 部署到 GPU 内存并加载预设件模板,Kanzi 始终使用主线程。请参阅图像和纹理最佳实践着色器最佳实践网格最佳实践

您可以在 Kanzi 中加载工程中使用的预设件的资源字典,然后由 Kanzi 应用程序向用户显示。例如,您可以创建一个加载屏幕,以便用户在 Kanzi 后台加载应用程序其余部分的资源字典时查看。请参阅异步加载预设件资源

不同平台的最佳加载线程数量不尽相同。当对您的平台使用最佳数量的加载线程时,您的 Kanzi 应用程序的启动和完全加载时间都会降低。

设置加载时使用的内核数量

在应用程序代码中,使用应用程序框架配置或资源管理器 API,您可以设置应用程序要在加载 GPU 资源时使用的内核数量。

要设置您的应用程序在加载资源时使用的内核数量,请在应用程序代码中的 onConfigure() 函数中:

//将 loadingThreadCount 设置为目标设备的处理器中的
//内核数量。
//例如,要使用四核处理器的所有 4 个内核,
//请将值设置为 3;要只使用 2 个内核,请将值设置为 1。
configuration.loadingThreadCount = 3;

您可以在应用程序代码中的 onConfigure() 函数或 application.cfg中设置应用程序的加载首选项。请参阅 LoadingThreadCount

禁用并行加载

要禁用资源并行加载功能,请将 loadingThreadCount 设置为 0。禁用了并行加载时,Kanzi 仅使用主线程来加载资源。禁用了并行加载时,Kanzi 将不会分配内存管理器。

configuration.loadingThreadCount = 0;

请参阅 LoadingThreadCount

另请参阅

图像和纹理最佳实践

网格最佳实践

着色器最佳实践

资源管理

配置应用程序

应用程序配置参考